package com.xiaoma.pattern.template;

/**
 * @author maj
 * @ClassName BankTemplateMethod
 * @Description
 * @date 2020-09-11 15:29
 */
public abstract class BankTemplateMethod {

  public void takeNumber(){
    System.out.println("取号排队");
  }
  /**
   * 办理具体的业务	钩子方法：抽象方法，交给子类去实现
   */
  public abstract void transact();
  /**
   * 具体方法
   */
  public void evaluate(){
    System.out.println("反馈评分");
  }

  /**
   * 模板方法！！！
   */
  public final void process(){
    this.takeNumber();

    this.transact();

    this.evaluate();
  }


}
